package cn.lg.soar.system.api.model;

import cn.lg.soar.core.annotations.constraints.group.Create;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Set;

/**
 * 新增用户
 * @author luguoxiang
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
@Getter
@Setter
public class UserCreateDTO implements Serializable {

    private static final long serialVersionUID = 7540353807893294101L;

    @NotBlank(message = "用户名不能为空", groups = {Create.class})
    @ApiModelProperty(value = "用户名（账号）", example = "test-user")
    private String username;

    @NotBlank(message = "昵称不能为空", groups = {Create.class})
    @ApiModelProperty(value = "昵称", example = "测试用户")
    private String nickname;

    @ApiModelProperty(value = "密码(默认：123456)", example = "e10adc3949ba59abbe56e057f20f883e")
    private String password;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "用户类型")
    private Integer userType;

    @ApiModelProperty(value = "权限角色")
    private Set<Long> roleIds;

    @ApiModelProperty(value = "组织机构")
    private Set<Long> orgIds;

    @ApiModelProperty(value = "岗位id")
    private Set<Long> postIds;

    @ApiModelProperty(value = "性别")
    private Integer gender;

    @ApiModelProperty(value = "年龄")
    private Integer age;

    @ApiModelProperty(value = "入职日期")
    private LocalDate entrytime;

    @ApiModelProperty(value = "婚姻状况")
    private Integer maritalstatus;

    @ApiModelProperty(value = "评分")
    private String score;

}
